#ifndef SCENE_MAIN_H
#define SCENE_MAIN_H

#include "core/scene.h"

class Spawner;
class Player;
class Timer;
class UIMouse;

class SceneMain : public Scene {
    Player* player_ = nullptr;
    Spawner* spawner_ = nullptr;
    Timer* end_timer_ = nullptr;
    UIMouse* ui_mouse_ = nullptr;
    
public:
    virtual void init() override;
    virtual bool handleEvents(SDL_Event& event) override;
    virtual void update(float dt) override;
    virtual void render() override;
    virtual void clean() override;

    // virtual void saveData(const std::string& file_path) override;
private:
    void renderBackground();
    void updateScore();
    void checkButtonPause();
    void chekcButtonRestart();
    void checkButtonBack();
    void checkEndTimer();
    void checkSlowDown(float& dt);
};

#endif // SCENE_MAIN_H